﻿var ingreso_mensual = 0;

function obtener_informacion(cadena_text) {

    //var cadena = ",txt_1_1:122,txt_1_5:12,txt_2_3:44,txt_3_4:88,txt_4_3:11,txt_6_2:33333";
    var arreglo = [];
    var contador = 0;
    var valor_por_celda;
    //cadena = obtener_arreglo();
    var cadena = cadena_text;
    //alert(cadena);
    for (var x = 0; x < cadena.length; x++) {
        if (cadena.charAt(x) == ',')
            contador++;
    }



    var sumatoria = 0;

    var grupo1 = 0;
    var grupo2 = 0;
    var grupo3 = 0;
    var grupo4 = 0;
    var grupo5 = 0;
    var grupo6 = 0;
    var grupo7 = 0;
    var grupo8 = 0;
    var grupo9 = 0;
    var valor_grupo = [];
    var label_grupo = [];

    //cadena = $('#cadena').val();
    //alert(contador);
    arreglo = cadena.split(",");

    for (var i = 1; i <= contador; i++) {
        valor_por_celda = arreglo[i];
        //alert(valor_por_celda);
        var pos_primer_guion = valor_por_celda.indexOf("_");
        var pos_ultimo_guion = valor_por_celda.lastIndexOf("_");
        var pos_dospuntos = valor_por_celda.indexOf(":");
        var grupo = valor_por_celda.substring(pos_primer_guion + 1, pos_ultimo_guion);
        var value_arreglo = valor_por_celda.substring(pos_dospuntos + 1);
        //alert(grupo + " - " + value_arreglo);


        switch (grupo) {
            case "1": grupo1 += parseInt(value_arreglo); valor_grupo[1] = grupo1; label_grupo[1] = "Básicos"; break;
            case "2": grupo2 += parseInt(value_arreglo); valor_grupo[2] = grupo2; label_grupo[2] = "Alimentación"; break;
            case "3": grupo3 += parseInt(value_arreglo); valor_grupo[3] = grupo3; label_grupo[3] = "Educación"; break;
            case "4": grupo4 += parseInt(value_arreglo); valor_grupo[4] = grupo4; label_grupo[4] = "Transporte"; break;
            case "5": grupo5 += parseInt(value_arreglo); valor_grupo[5] = grupo5; label_grupo[5] = "Hogar y seguridad"; break;
            case "6": grupo6 += parseInt(value_arreglo); valor_grupo[6] = grupo6; label_grupo[6] = "Cuidado Personal"; break;
            case "7": grupo7 += parseInt(value_arreglo); valor_grupo[7] = grupo7; label_grupo[7] = "Vestido y calzado"; break;
            case "8": grupo8 += parseInt(value_arreglo); valor_grupo[8] = grupo8; label_grupo[8] = "Entretenimiento"; break;
            case "9": grupo9 += parseInt(value_arreglo); valor_grupo[9] = grupo9; label_grupo[9] = "Salud"; break;
            //default: grupo10 = 200; valor_grupo[10] = grupo10; label_grupo[10] = "Ahorros"; break; 
            //default: break;  
        }

    }
    //alert(valor_grupo[1] + " - " + grupo2 + " - " + grupo3 + " - " + grupo4 + " - " + grupo5 + " - " + grupo6 + " - " + grupo7);
    return { valor_grupo: valor_grupo, label_grupo: label_grupo }
}



function obtener_informacion_2D(cadena_text) {

    //var cadena = ",txt_1_1:122,txt_1_5:12,txt_2_3:44,txt_3_4:88,txt_4_3:11,txt_6_2:33333";
    var arreglo = [];
    var contador = 0;
    var valor_por_celda;
    //cadena = obtener_arreglo();
    var cadena = cadena_text;
    //alert(cadena);
    for (var x = 0; x < cadena.length; x++) {
        if (cadena.charAt(x) == ',')
            contador++;
    }



    var sumatoria = 0;

    var grupo1 = 0;
    var grupo2 = 0;
    var grupo3 = 0;
    var grupo4 = 0;
    var grupo5 = 0;
    var grupo6 = 0;
    var grupo7 = 0;
    var grupo8 = 0;
    var grupo9 = 0;
    var valor_grupo = [];
    var label_grupo = [];

    //cadena = $('#cadena').val();
    //alert(contador);
    arreglo = cadena.split(",");

    for (var i = 1; i <= contador; i++) {
        valor_por_celda = arreglo[i];
        //alert(valor_por_celda);
        var pos_primer_guion = valor_por_celda.indexOf("_");
        var pos_ultimo_guion = valor_por_celda.lastIndexOf("_");
        var pos_dospuntos = valor_por_celda.indexOf(":");
        var grupo = valor_por_celda.substring(pos_primer_guion + 1, pos_ultimo_guion);
        var value_arreglo = valor_por_celda.substring(pos_dospuntos + 1);
        //alert(grupo + " - " + value_arreglo);


        switch (grupo) {
            case "1": grupo1 += parseInt(value_arreglo); valor_grupo[1] = grupo1; label_grupo[1] = "Básicos"; break;
            case "2": grupo2 += parseInt(value_arreglo); valor_grupo[2] = grupo2; label_grupo[2] = "Alimentación"; break;
            case "3": grupo3 += parseInt(value_arreglo); valor_grupo[3] = grupo3; label_grupo[3] = "Educación"; break;
            case "4": grupo4 += parseInt(value_arreglo); valor_grupo[4] = grupo4; label_grupo[4] = "Transporte"; break;
            case "5": grupo5 += parseInt(value_arreglo); valor_grupo[5] = grupo5; label_grupo[5] = "Hogar y seguridad"; break;
            case "6": grupo6 += parseInt(value_arreglo); valor_grupo[6] = grupo6; label_grupo[6] = "Cuidado Personal"; break;
            case "7": grupo7 += parseInt(value_arreglo); valor_grupo[7] = grupo7; label_grupo[7] = "Vestido y calzado"; break;
            case "8": grupo8 += parseInt(value_arreglo); valor_grupo[8] = grupo8; label_grupo[8] = "Entretenimiento"; break;
            case "9": grupo9 += parseInt(value_arreglo); valor_grupo[9] = grupo9; label_grupo[9] = "Salud"; break;
            //default: grupo10 = 200; valor_grupo[10] = grupo10; label_grupo[10] = "Ahorros"; break;  
            //default: break;   
        }

    }
    //alert(valor_grupo[1] + " - " + grupo2 + " - " + grupo3 + " - " + grupo4 + " - " + grupo5 + " - " + grupo6 + " - " + grupo7);
    return { valor_grupo: valor_grupo, label_grupo: label_grupo }
}








function grafico_pie() {
    $("#div_orders").empty();
    //validacion_presupuesto();

    var info = "";
    var br = "<br/>";
    var url = '?opc=sel_ult';
    var suma_grupos = 0;
    var ini = "<chart palette=2 animation=0 formatNumberScale=0 numberPrefix=S pieSliceDepth=30 startingAngle=300 slicingDistance =30 allowRotation=1>";
    /*"<chart bgColor='F1f1f1' caption='Global Export' " +
    "subcaption='In Millions Tonnes' xaxisname='Continent' " +
    "yaxisname='Exportacion'  showLegend='1' showColumnShadow='1' " +
    "yAxisMaxValue='70'>";*/
    var ini_categorias = "<categories >";
    var categorias = "";
    var fin_categorias = "</categories>";
    var ini_dataset = "<dataset seriesname=Rice color=#CC3399 alpha=100>";
    var fin_dataset = "</dataset>";
    var fin = "<styles><definition><style type=font name=CaptionFont size=15 color=#666666 type=animation duration=2/><style type=font name=SubCaptionFont bold=0/></definition><application><apply toObject=caption styles=CaptionFont/><apply toObject=SubCaption styles=SubCaptionFont/></application></styles></chart>";

    $.getJSON('controladoras/c_historial.aspx' + url,
        function(data) {
            datos = data;
            for (var i = 0; i < datos.length; i++) {
                //alert(datos[i][2]);
                var arreglo_grupos = [];
                arreglo_grupos = obtener_informacion(datos[i][2]);
                for (var j = 1; j < arreglo_grupos.label_grupo.length; j++) {
                    info += "<set label=" + arreglo_grupos.label_grupo[j] + " value=" + arreglo_grupos.valor_grupo[j] + "></set>";





                    if (arreglo_grupos.valor_grupo[j] != null)
                    { suma_grupos += arreglo_grupos.valor_grupo[j]; }

                }
                //Muestra una etiqueta más en caso de que tenga un monto para ahorrar
                var ingreso_mensual = getUrlVars()["ingreso_mensual"];
                if (suma_grupos < ingreso_mensual) {
                    var ahorro = ingreso_mensual - suma_grupos;
                    info += "<set label=Ahorros value=" + ahorro + " isSliced=1></set>";
                }

            }


            var ingreso_mensual = getUrlVars()["ingreso_mensual"];

            if (suma_grupos > ingreso_mensual) {
                $('#ingresos_mensuales').html(ingreso_mensual);
                $('#gasto_previsto').html(suma_grupos);
                $('#negativo').html(suma_grupos - ingreso_mensual);

                $('#invalido').css("display", "block");
                $('#valido').css("display", "none");
            }
            else {

                $('#invalido').css("display", "none");
                $('#valido').css("display", "block");
            }





            if (info != '') {
                $('#div_orders').html(ini + /*ini_dataset +*/info /*+ fin_dataset*/ + fin);
                $("#container").css("display", "none");
            }
            else {
                $('#div_orders').html('ERROR de informacion');
            }




            $('#div_final').insertFusionCharts({
                type: "Pie3D",
                data: $('#div_orders').html(),
                dataFormat: "XMLData",
                width: "700",
                height: "400"
            });

        });


    //alert("A continuación se mostrará \n el gráfico de tus gastos \n según las categorías.");






}



function grafico_pie_2D() {
    $("#div_orders").empty();
    //validacion_presupuesto();

    var info = "";
    var br = "<br/>";
    var url = '?opc=sel_ult';
    var suma_grupos = 0;
    var ini = "<table class=dataTbl><tbody>";
    var fin = "</tbody></table>";




    var piechartinfo = {
        type: 'pie',
        name: 'Custom Info',
        data: []
    }
    
    
    
    
    

    var data_array = [];
    var piechartinfo;
    $.getJSON('controladoras/c_historial.aspx' + url,
        function(data) {
            datos = data;
            for (var i = 0; i < datos.length; i++) {
                //alert(datos[i][2]);
                var arreglo_grupos = [];
                arreglo_grupos = obtener_informacion_2D(datos[i][2]);
                for (var j = 1; j < arreglo_grupos.label_grupo.length; j++) {




                    if (arreglo_grupos.valor_grupo[j] != null) {
                    
                        piechartinfo.data.push([arreglo_grupos.label_grupo[j], arreglo_grupos.valor_grupo[j]]);

                        suma_grupos += arreglo_grupos.valor_grupo[j]; 
                    }

                }


                //Muestra una etiqueta más en caso de que tenga un monto para ahorrar
                var ingreso_mensual = getUrlVars()["ingreso_mensual"];
                if (suma_grupos < ingreso_mensual) {
                    var ahorro = ingreso_mensual - suma_grupos;
                    piechartinfo.data.push(["Ahorros", ahorro]);
                }

            }



            var ingreso_mensual = getUrlVars()["ingreso_mensual"];

            validar_ingresos_vs_egresos(suma_grupos, ingreso_mensual);

            var chart;
            $(document).ready(function() {
                chart = new Highcharts.Chart({
                    chart: {
                        renderTo: 'container',
                        plotBackgroundColor: null,
                        plotBorderWidth: null,
                        plotShadow: false
                    },
                    title: {
                        text: '<br><br><br>'
                    },
                    tooltip: {
                        formatter: function() {
                            return '<b>' + this.point.name + '</b>: ' + this.percentage.toFixed(2) + ' %';
                        }
                    },
                    plotOptions: {
                        column: {colorByPoint: true},
                        pie: {
                            allowPointSelect: true,
                            cursor: 'pointer',
                            dataLabels: {
                                enabled: true,
                                color: '#000000',
                                connectorColor: '#000000',
                                formatter: function() {
                                    return '<b>' + this.point.name + '</b>: ' + this.y;
                                }
                            }
                        }
                    },
                    colors: ['#AFD8F8', '#F6BD0E', '#8ABA00', '#FF8D45', '#008D8D', '#D54545', '#8D458D', '#578425', '#B3AA00', '#008DD5'],
                    series: [piechartinfo]
                });
                
            });


        });









            if (info != '') {
                $('#div_orders').html(ini + info + fin);
                //alert($('#div_orders').html());
            }
            else {
                $('#div_orders').html('ERROR de informacion');
            }







}


function validar_ingresos_vs_egresos(suma_grupos, ingreso_mensual) {

    $(document).ready(function() {
        //alert(suma_grupos + "-" + ingreso_mensual);
        if (suma_grupos > ingreso_mensual) {
            $('#ingresos_mensuales').html(ingreso_mensual);
            $('#gasto_previsto').html(suma_grupos);
            $('#negativo').html(suma_grupos - ingreso_mensual);

            $('#invalido').css("display", "block");
            $('#valido').css("display", "none");
        }
        else {

            $('#invalido').css("display", "none");
            $('#valido').css("display", "block");
        }
    });

}



    function obtener_arreglo() {
        var cadena = "";

        for (var i = 1; i <= 8; i++) {
            if ($('#txt_1_' + i).val() != "") {
                cadena += ",txt_1_" + i + ":";
                cadena += $('#txt_1_' + i).val();
            }

        }
        for (var i = 1; i <= 5; i++) {
            if ($('#txt_2_' + i).val() != "") {
                cadena += ",txt_2_" + i + ":";
                cadena += $('#txt_2_' + i).val();
            }
        }
        for (var i = 1; i <= 4; i++) {
            if ($('#txt_3_' + i).val() != "") {
                cadena += ",txt_3_" + i + ":";
                cadena += $('#txt_3_' + i).val();
            }
        }
        for (var i = 1; i <= 6; i++) {
            if ($('#txt_4_' + i).val() != "") {
                cadena += ",txt_4_" + i + ":";
                cadena += $('#txt_4_' + i).val();
            }
        }
        for (var i = 1; i <= 6; i++) {
            if ($('#txt_5_' + i).val() != "") {
                cadena += ",txt_5_" + i + ":";
                cadena += $('#txt_5_' + i).val();
            }
        }
        for (var i = 1; i <= 6; i++) {
            if ($('#txt_6_' + i).val() != "") {
                cadena += ",txt_6_" + i + ":";
                cadena += $('#txt_6_' + i).val();
            }
        }
        for (var i = 1; i <= 5; i++) {
            if ($('#txt_7_' + i).val() != "") {
                cadena += ",txt_7_" + i + ":";
                cadena += $('#txt_7_' + i).val();
            }
        }
        for (var i = 1; i <= 4; i++) {
            if ($('#txt_8_' + i).val() != "") {
                cadena += ",txt_8_" + i + ":";
                cadena += $('#txt_8_' + i).val();
            }
        }
        for (var i = 1; i <= 5; i++) {
            if ($('#txt_9_' + i).val() != "") {
                cadena += ",txt_9_" + i + ":";
                cadena += $('#txt_9_' + i).val();
            }
        }

        //alert(cadena);
        $('#cadena').val(cadena);


        return cadena;
    }

    function sumar() {

        $("input[type='text']").keyup(function() {
            var add = 0;
            $("input.grupo1").each(function() {
                add += Number($(this).val());
            });
            $("#txt_1_0").html(add);
        });
        $("input[type='text']").keyup(function() {
            var add = 0;
            $("input.grupo2").each(function() {
                add += Number($(this).val());
            });
            $("#txt_2_0").html(add);
        });
        $("input[type='text']").keyup(function() {
            var add = 0;
            $("input.grupo3").each(function() {
                add += Number($(this).val());
            });
            $("#txt_3_0").html(add);
        });
        $("input[type='text']").keyup(function() {
            var add = 0;
            $("input.grupo4").each(function() {
                add += Number($(this).val());
            });
            $("#txt_4_0").html(add);
        });
        $("input[type='text']").keyup(function() {
            var add = 0;
            $("input.grupo5").each(function() {
                add += Number($(this).val());
            });
            $("#txt_5_0").html(add);
        });
        $("input[type='text']").keyup(function() {
            var add = 0;
            $("input.grupo6").each(function() {
                add += Number($(this).val());
            });
            $("#txt_6_0").html(add);
        });
        $("input[type='text']").keyup(function() {
            var add = 0;
            $("input.grupo7").each(function() {
                add += Number($(this).val());
            });
            $("#txt_7_0").html(add);
        });
        $("input[type='text']").keyup(function() {
            var add = 0;
            $("input.grupo8").each(function() {
                add += Number($(this).val());
            });
            $("#txt_8_0").html(add);
        });
        $("input[type='text']").keyup(function() {
            var add = 0;
            $("input.grupo9").each(function() {
                add += Number($(this).val());
            });
            $("#txt_9_0").html(add);
        });



        //Sumatoria total
        $("input[type='text']").keyup(function() {
            var add = 0;
            $("span.sumatoria").each(function() {
                add += Number($(this).html());
            });
            $("#total").html(add);

            obtener_arreglo();
        });



    }

    function getUrlVars() {
        var vars = {};
        var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
            vars[key] = value;
        });
        return vars;
    }



    function validacion_presupuesto(suma_grupos) {

        //alert(suma_grupos);
    }



    function mostrar_grafico() {
        $('#invalido').css("display", "none");
        $('#valido').css("display", "none");

        $('#div_orders').css("display", "block");
        $('#div_final').css("display", "block");





    }


    function validar_texto_vacio() {
        if ($('#validar').val() != '') {
        }
        else {
            alert("Los campos estan vacios");
            parent.jQuery.fancybox.close();
            return false;
        }
    }
    function manda_mensaje() {
        if ($('#cadena').val() != '') {
            alert("Los campos estan lleno");
            return false;
        }
        else {
            alert("Los campos estan vacios");
            return false;
        }
    }

    function validar_boton_guardar() {
        if ($('#cadena').val() != '') {
            alert("Los campos si se llenaron");

            var ingreso_mensual = getUrlVars()["ingreso_mensual"];
            location.href = "mensaje.htm?ingreso_mensual=" + ingreso_mensual;

            return true;
        }
        else {
            alert("El valor esta vacio");
            return false;
        }
    }

    function validar_boton_graficar() {
        if ($('#cadena').val() != '') {
            alert("Los campos si se llenaron");

            var ingreso_mensual = getUrlVars()["ingreso_mensual"];
            location.href = "mensaje.htm?ingreso_mensual=" + ingreso_mensual;

            return true;
        }
        else {
            alert("El valor esta vacio");
            return false;
        }
    }







    function mensaje()

    { alert("Este es un mensaje de fernando.") }

    /*function redireccionar(cadena) {
    //alert(ingreso_mensual);
    var url = "mensaje.htm?cadena=" + cadena;
    location.href = url;
    //$('.home-btn').attr('href', url);
    }*/
